import axios from 'axios';
import type { TableData } from '@arco-design/web-vue/es/table/interface';
import request from '@/utils/request';

export interface ContentDataRecord {
  x: string;
  y: number;
}

export function queryContentData() {
  return request.get<ContentDataRecord[]>('/api/content-data');
}

export interface PopularRecord {
  key: number;
  clickNumber: string;
  title: string;
  increases: number;
}

export function queryPopularList(params: { type: string }) {
  return request.get<TableData[]>('/api/popular/list', { params });
}

// 工作台统计数据接口定义
export interface DashboardStatistic {
  // 订单统计
  orderCount: number; // 订单总数
  totalOrderAmount: number; // 总订单金额
  totalElectricityFee: number; // 总电费
  totalServiceFee: number; // 总服务费

  // 充电设施统计
  stationCount: number; // 充电站数量
  pileCount: number; // 充电桩数量
  totalPileCount: number; // 充电桩总数
  onlinePileCount: number; // 在线充电桩数量
  offlinePileCount: number; // 离线充电桩数量
  chargingPileCount: number; // 充电中充电桩数量
  faultPileCount: number; // 故障充电桩数量

  // 今日数据
  todayOrderCount: number; // 今日订单数
  todayOrderAmount: number; // 今日订单金额
  todayStationCount: number; // 今日新增站点数
  todayPileCount: number; // 今日新增充电桩数

  // 本月数据
  monthOrderCount: number; // 本月订单数
  monthOrderAmount: number; // 本月订单金额
  monthStationCount: number; // 本月新增站点数
  monthPileCount: number; // 本月新增充电桩数
  enabledStationCount: number; // 已启用站点数
}

// 获取工作台统计数据
export function getDashboardStatistic() {
  return request.get<DashboardStatistic>('/api/dashboard/statistic');
}

// 平台订单统计接口
export interface PlatformOrderStatistic {
  platformId: number; // 平台ID
  platformName: string; // 平台名称
  totalAmount: number; // 订单金额
  totalElectricity: number; // 充电电量
  orderCount: number; // 订单数量
  fastChargingCapacity: number; // 快充运力
  statisticDate: string; // 统计日期
}

// 获取平台订单统计数据
export function getPlatformOrderStatistics(params: {
  startTime?: string;
  endTime?: string;
  stationId?: number;
  platformId?: number;
  partnerId?: number;
}) {
  return request.get<PlatformOrderStatistic[]>(
    '/api/dashboard/platform/order/statistic',
    params
  );
}

// 平台充电枪统计接口
export interface PlatformPileStatistic {
  platformId: number; // 平台ID
  platformName: string; // 平台名称
  totalGunCount: number; // 充电枪总数
  idleGunCount: number; // 空闲充电枪数量
  pluggedNotChargingCount: number; // 已插枪未充电数量
  chargingGunCount: number; // 充电中充电枪数量
  finishedNotUnpluggedCount: number; // 充电结束未拔枪数量
  faultGunCount: number; // 故障充电枪数量
}

// 获取平台充电枪统计数据
export function getPlatformPileStatistics() {
  return request.get<PlatformPileStatistic[]>(
    '/api/dashboard/platform/pile/statistic'
  );
}

/**
 * 获取订单金额与电量趋势统计数据
 * @param params 参数对象
 * @returns 接口响应
 */
export function getOrderAmountAndElectricityTrend(params: {
  platformId?: number;
  startTime: string;
  endTime: string;
  stationId?: number;
  partnerId?: number;
}) {
  return request.get('/api/dashboard/order/trend', params);
}
